#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
constexpr int MAXN = 100;
int N;
int M[MAXN][MAXN]; // 矩阵
int a[MAXN]; // a[i]表示第i行最后出现1的位置

void solve() {
    int res = 0;
    for (int i = 0; i < N; i++) {
        a[i] = -1;
        for (int j = 0; j < N; j++) {
            if (M[i][j] == 1) a[i] = j; 
        }
    }

    for (int i = 0; i < N; i++) { // 需要移动到第i行的行
        int pos = -1;
        for (int j = i; j < N; j++) {
            if (a[j] < i) {
                pos = j; // 首先找出小于这一个点的行
                break;
            }
        }

        for (int j = pos; j > i; j--) {
            swap(a[j], a[j - 1]); // 进行行的交换
            res++;
        }
    }
    printf("%d\n", res);
}
